import axios from "axios";

const instance = axios.create({
  baseURL: 'http://47.94.148.165:3001/api',
  timeout: 10000,
  headers: { 'Content-Type': 'application/x-wwww-form-urlencoded' }
});
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  //在使用axios请求数据前，此时请求还没有发送给后端，被拦截器拦下来了
  //可以在该位置做一个请求的配置，最常用就是在该位置添加token
  //为什么使用token，因为http请求时无状态，两个请求之间没有关联，需要上一次请求时，返回token，作为下一次请求校验
  if (localStorage.getItem('pinia-user')) {
    const user = JSON.parse(localStorage.getItem('pinia-user') as string)
    //登录后才有token
    config.headers['X-Nideshop-Token'] = user.token;
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  //当响应发给前端时，被响应拦截器拦截，可以用来：
  //1.根据后端返回的状态码，来队所有响应做处理，比如提示信息
  //2.更新token用来做登录的时长校验
  // 对响应数据做点什么
  // console.log('response',response);
  // showToast({
  //   message: '请先登录',
  //   position: 'top',
  // });
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});
export default instance;